package com.cy.store.service;

/**
 * @author Luo Sheng
 * @school YiBin university
 * @create 2022-11-23 16:40
 */

import com.cy.store.entity.User;

/**
 * 用户模块业务层逻辑接口
 */
public interface IUserService {
    /**
     * 用户注册方法
     * @param user
     */
    void reg(User user);

    /**
     * 用户登陆功能
     * @param user 用户名和密码
     * @return 返回与用户名和密码匹配的用户信息，如果没有查询到则返回Null值
     */
    User login(User user);

    /**
     * 更新用户密码
     * @param uid 用户id
     * @param username 用户名
     * @param oldPassword 老的密码
     * @param newPassword 新的密码
     */
    void changePassword(Integer uid,
                        String username,
                        String oldPassword,
                        String newPassword);

    /**
     * 根据用户Id查询用户信息
     * @param uid 用户id
     * @return 用户数据
     */
    User getByUid(Integer uid);

    /**
     * 更新用户的数据
     * @param uid 用户的id
     * @param username 用户的名称
     * @param user 更新的数据
     */
    void changeInfo(Integer uid, String username, User user);


    /**
     * 更新用户头像
     * @param uid 用户的Id
     * @param avatar 用户的头像路径
     * @param username 用户的名称
     */
    void changeAvatar(Integer uid,
                      String avatar,
                      String username);

}
